This application claims the benefit of Korean Patent Application No. 2001-21360, filed Apr. 20, 2001 in the Korean Industrial Property office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a method of generating and allocating modulation codes of source codes to be recorded on a recording medium, and more particularly, to a method of generating codewords with a restricted run length and allocating the generated codewords to form a code stream so that a DC control characteristic of the code stream is maintained.
2. Description of the Related Art
In a Run Length Limited (RLL) code represented by (d, k, m, n), the performance of a code is evaluated mainly based on a recording density and a capability to suppress a DC component of the code. Here, xe2x80x9cmxe2x80x9d denotes the number of data bits (the number of so-called source data bits, which is also referred to as the number of information word bits), xe2x80x9cnxe2x80x9d denotes the number of codeword bits after modulation (the number of so-called channel bits) of the source data bits, xe2x80x9cdxe2x80x9d denotes the minimum number of a series of xe2x80x980sxe2x80x99 that can exist between xe2x80x981xe2x80x99 and xe2x80x981xe2x80x99 in a codeword, and xe2x80x9ckxe2x80x9d denotes the maximum number of a series of xe2x80x980sxe2x80x99 that can exist between xe2x80x981xe2x80x99 and xe2x80x981xe2x80x99 in a codeword. An interval between the codeword bits in a codeword is represented by T.
A modulation method, to improve a recording density, is used to reduce the number of the codeword bits xe2x80x9cnxe2x80x9d while regarding xe2x80x9cdxe2x80x9d and xe2x80x9cmxe2x80x9d as given conditions. In the RLL code, however, xe2x80x9cdxe2x80x9d, which is the minimum number of a series of xe2x80x980sxe2x80x99 that can exist between xe2x80x981xe2x80x99 and xe2x80x981xe2x80x99 in a codeword, and xe2x80x9ckxe2x80x9d, which is the maximum number of a series of xe2x80x980sxe2x80x99 that can exist between xe2x80x981xe2x80x99 and xe2x80x981xe2x80x99 in a codeword, should be satisfied. If, with this (d, k) condition satisfied, the number of data bits is xe2x80x9cmxe2x80x9d, the number of codewords satisfying RLL(d, k) should be equal to or greater than 2m. Moreover, in order to actually use this code, run length constraints, that is, RLL(d, k) conditions, should be satisfied in a part where a codeword is linked to another codeword. In addition, when the DC component of a code affects the system performance, it is desirable to use a code which has a DC suppression capability.
The main reason for suppressing the DC component in the RLL modulated code stream is to minimize an effect of a reproducing signal on a servo band. Hereinafter, methods of suppressing the DC component will be referred to as Digital Sum Value (DSV) control methods.
The DSV control methods can be broadly classified into two types. One is a method having a DSV control code itself, where the DSV control code is capable of controlling a DSV. The other one is a method of inserting a merge bit at each DSV control time. An Eight to Fourteen Modulation plus (EFM+) code performs DSV control using a separate code table while the EFM code or a (1, 7) code performs the DSV control by inserting the merge bit.
Therefore, the shape of the prior art modulation code group having the DSV control code itself capable of controlling suppression of the DC component and satisfying the conditions described above is as shown in FIG. 1, in which each of a predetermined number of main conversion code groups has a corresponding code group for controlling suppression of the DC component. Each main conversion code group and the corresponding code group form a pair so that the DC component can be suppressed and controlled. In this case, there are some characteristics in the codewords of predetermined main conversion code groups. That is, there are no identical codewords between the main conversion code groups A and B. If duplicated codes are used, there might be the main conversion code groups C and D for demodulating the duplicated codes, where there are no identical codewords between the main conversion code groups C and D, but codewords in the main conversion code group A or B may be in the main conversion code group C or D for demodulating duplicated codes. The number of codewords in the main conversion code groups A and B and the main conversion code groups C and D for demodulating duplicated codes is 2m if the number of bits in the source word before conversion is xe2x80x9cmxe2x80x9d.
If corresponding code groups E through H are DC suppression control code groups used for suppressing the DC components together with the main conversion code groups A through D, respectively, the characteristics of codewords in each of the corresponding code groups E through H are the same as the characteristics of codewords in the main conversion code groups A through D, respectively. That is, the same conditions for generating duplicated codewords or the same conditions for determining the number of lead zeros in a codeword are applied to each of the DC suppression control code groups E through H for controlling suppression of DC components and the main conversion code groups A through D.
For example, the characteristics of the EFM+ code, which is used in current Digital Versatile Discs (DVD), has a run length condition of RLL(2, 10) and a codeword length (n) of 16 bits, is as shown in FIG. 2. The main conversion code groups are MCG1 (xe2x80x9cAxe2x80x9d in FIG. 1) and MCG2 (xe2x80x9cBxe2x80x9d in FIG. 1) and the conversion code groups for demodulating duplicated codes are DCG1 (xe2x80x9cCxe2x80x9d in FIG. 1) and DCG2 (xe2x80x9cDxe2x80x9d in FIG. 1). There are four DSV code groups (xe2x80x9cExcx9cHxe2x80x9d in FIG. 1) which make pairs with respective conversion code groups to control suppression of DC components. There are no identical codewords between the four conversion code groups and the four DSV code groups which are code groups for controlling DC components.
Also, the conditions for generating duplicated codewords in the entire code groups are the same, and the characteristics of codewords in each code group pair that can control DC components (MCG1 and the first DSV code group, MCG2 and the second DSV code group, DCG1 and the third DSV code group, or DCG2 and the fourth DSV code group) are the same.
That is, a codeword having a continuous sequence of from 2 to 5 zeros from the Least Significant Bit (LSB) of the codeword is generated using duplicated codewords. This rule is applied to each code group in the same manner. In each of the codewords of the first DSV code group for controlling suppression of DC components, which controls suppression of DC components together with the main conversion code group MCG1, there is a continuous sequence of between 2 and 9 xe2x80x980sxe2x80x99 from the Most Significant Bit (MSB). In each of the codewords of the second DSV code group for controlling suppression of DC components, which controls suppression of DC components together with the main conversion code group MCG2, there is either 0 or 1 xe2x80x980xe2x80x99 continuing from the MSB.
Some bits (here, b15(MSB) or b3) in the codewords of the third DSV code group control the suppression of the DC components together with the corresponding conversion code group DCG1 for demodulating duplicated codes are xe2x80x980bxe2x80x99, while some bits (here, b15(MSB) or b3) in the codewords of the fourth DSV code group for controlling suppression of DC components control the suppression of the DC components together with the corresponding code group DCG2 for demodulating duplicated codes, and some bits (here, b15(MSB) and b3) are xe2x80x981bxe2x80x99. In developing 8 to 15 modulation code which has an advantage in the recording density aspect compared to the prior art modulation method EFM+ which uses the modulation code group shown in FIG. 1 or 2, the original characteristics of a code stream change when a change occurs in a codeword because of a boundary rule applied to the locations adjacent to a boundary which connects a codeword to another codeword.
To solve the above and other problems, it is an objective of the present invention to provide a method of generating and allocating codewords having a run length restriction so that original characteristics of a code stream are maintained without change even when a codeword is replaced according to a boundary rule when the code stream is allocated.
Additional objects and advantageous of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
To achieve the above and other objects according to an embodiment of the present invention, there is provided a method of generating and allocating codewords of source words which are to be recorded on a recording medium, the method including generating codewords satisfying predetermined run length conditions and grouping codewords according to each run length condition; and allocating the codewords such that a code(word) for the source word is capable of controlling suppression of DC components.
It is preferable that when a predetermined boundary condition is not satisfied in the code stream, allocating codewords such that codewords which satisfy the boundary condition and maintain the DC control characteristics which are considered when the initial codewords are allocated replace the initial codewords.
The generating of the codewords includes generating codewords satisfying the length of a predetermined first codeword, and predetermined run length conditions, grouping the codewords according to each predetermined run length condition to generate a main conversion codeword table; generating DC control codewords satisfying the length of a predetermined second codeword, and predetermined run length conditions in order to control DC components in the code(word) stream, grouping the DC control codewords, and generating a code conversion table for controlling DC components; and generating additional DC control codewords by taking codewords which satisfy the predetermined run length conditions and are not needed in the main conversion codeword table, and grouping the additional DC control codewords.
Also, there is provided another allocation method of allocating codewords generated for source words to be recorded on a recording medium, the method including when a preceding codeword xe2x80x9caxe2x80x9d and a following codeword xe2x80x9cbxe2x80x9d form a code stream X, allocating one of two selectable codewords b1 and b2 as codeword xe2x80x9cbxe2x80x9d, in which codewords b1 and b2 have opposite INV values which are parameters indicating whether the number of xe2x80x981sxe2x80x99 contained in a codeword is an odd number or an even number and when the code stream of xe2x80x9caxe2x80x9d and b1 is X1, and the code stream of xe2x80x9caxe2x80x9d and b2 is X2, allocating codewords such that the INVs of X1 and X2 are maintained to be opposite when xe2x80x9caxe2x80x9d or b1(b2) (b1 or b2) should be replaced by other codewords in compliance with a predetermined boundary condition given between codewords.
It is preferable that when the predetermined boundary condition is that the number of continuous xe2x80x980sxe2x80x99 between codewords should be at least 2, and when the number of continuous xe2x80x980sxe2x80x99 from the Least Significant Bit (LSB) of the codeword a in the Most Significant Bit (MSB) direction is 0, and the number of continuous xe2x80x980sxe2x80x99 from the MSB of the codewords b1 or b2 in the LSB direction is 1, code changes of either the codeword xe2x80x9caxe2x80x9d or b1(b2) (b1 or b2) occur to satisfy the boundary condition.
It is preferable that when the number of continuous xe2x80x980sxe2x80x99 between the codewords xe2x80x9caxe2x80x9d and xe2x80x9cbxe2x80x9d is 1 or 0, the codeword xe2x80x9caxe2x80x9d or b is changed such that the number of 0s forming the boundary is greater than 2 and less than 10.
It is preferable that the codeword xe2x80x9caxe2x80x9d of the code stream X1 and the codeword xe2x80x9caxe2x80x9d of the code stream X2 are changed to other codewords such that the resulting codewords xe2x80x9caxe2x80x9d of code streams X1 and X2 have the same INV value, and as a result, by the INVs of codewords b1 and b2 following the codewords a respectively, the INVs of the X1 and X2 become different.
Also, there is provided an allocation method of allocating codewords of source words to be recorded on a recording medium, the method including when a preceding codeword xe2x80x9cbxe2x80x9d and a following codeword xe2x80x9ccxe2x80x9d form a code stream Y, allocating one of two selectable codewords b1 and b2 as the codeword xe2x80x9cbxe2x80x9d, wherein codewords b1 and b2 have opposite INVs which are parameters indicating whether the number of xe2x80x981sxe2x80x99 contained in a codeword is an odd number or an even number and when the code stream of b1 and xe2x80x9ccxe2x80x9d is Y1, and the code stream of b2 and xe2x80x9ccxe2x80x9d is Y2, allocating codewords such that INVs of Y1 and Y2 are maintained to be opposite when the codeword b1, b2, or xe2x80x9ccxe2x80x9d should be replaced by another codeword in compliance with a predetermined boundary condition between codewords.
It is preferable that when the predetermined boundary condition is that the number of continuous xe2x80x980sxe2x80x99 between codewords should be at least 2, and when the number of continuous xe2x80x980sxe2x80x99 from the Least Significant Bit (LSB) of the codeword xe2x80x9ccxe2x80x9d toward the Most Significant Bit (MSB) is 1, codeword xe2x80x9cbxe2x80x9d which does not satisfy the boundary condition and is xxxxxxxxxxx1001 or xxxxxxxxxx10001 appears in both b1 and b2.